<html>
	<head><title>org.aspectj.lib library module</title></head>
	<body>
<h2>org.aspectj.lib library module</h2>
<p>
This module has source for both <code>{AspectJ}/lib/aspectjlib.jar</code>
and <code>{AspectJ}/docs/aspectjlib/*</code>.
</p>

<h3>Building {AspectJ}/lib/aspectjlib.jar</h3>
<p>
This module is compiled using AspectJ, both in Eclipse and with Ant.
The Eclipse support is defined as usual in 
<a href=".classpath">.classpath</a> and <a href=".project">.project</a>.
The Ant build support in <a href="../build/build.xml">../build/build.xml</a>
is limited:
</p>
<ul>
	<li>This module is built and published as 
		<code>{aspectj}/lib/aspectjlib.jar</code>.
		This happens automatically, with no explicit Ant script.
		The <a href="../build/src/org/aspectj/internal/tools/build/Builder.java">
			Builder.java</a> 
		task uses <code>moduleAliasFor(String)</code> to map from the name of 
		the empty file 
		<a href="../build/products/tools/dist/lib/aspectjlib.jar">
			../build/products/tools/dist/lib/aspectjlib.jar</a> 
	    back to the module output 
		<a href="../aj-build/jars/org.aspectj.lib.jar">
			../aj-build/jars/org.aspectj.lib.jar</a>.</li>
	<li>The AspectJ support compiles only source files in <a href="src/">src/</a></li>
	<li>It does not use inpath, aspectpath, or any other aspectj-specific 
		option</li>
	<li>All non-Java (resource) files in the source directory will be included 
		in the library.</li>
	<li>There should be no dependencies.  Any libraries or modules on
		the Java classpath would be included in the shipped library.</li>
	<li>This is built using the release of AspectJ in 
		<a href="../lib/aspectj">../lib/aspectj</a>.</li>	
</ul>	
<h3>Building {AspectJ}/examples/aspectjlib/*</h3>
<p>
The docs build script <a href="../docs/build.xml">../docs/build.xml</a>
is responsible for assembling sources from this directory into the docs 
directory.  It relies on the name of the source directory and build script.  
Also, <code>Builder.java</code> is designed to try to use any 
<code>build.xml</code> to build the module, but Ant builds are now disabled.
So if you change the build script name or the source directory names, update
the docs build script and the builder as needed.
</p>
<p>
The <a href="build-aspectjlib.xml">build-aspectjlib.xml</a> script looks for
an AspectJ lib directory from either the distribution (aspectj/docs/aspectjlib) 
or from the CVS tree (modules/org.aspectj.lib), so the script can be tested
in situ.
</p>
</body>
</html>